package cn.edu.zut.project1.mapper;

import cn.edu.zut.project1.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户数据访问层
 * 负责与数据库交互，执行CRUD操作
 */
@Mapper
public interface UserMapper {

    /**
     * 根据账号查询用户（用于登录验证）
     * @param userAccount 用户账号
     * @return 用户信息（包含密码，仅用于登录验证）
     */
    @Select("select * from user where user_account = #{userAccount}")
    User selectByAccount(String userAccount);


    /**
     * 在数据库中添加完成注册的账户信息
     * @param user 用户
     */
    @Insert("insert into user (" +
            "user_account, user_password, user_name, user_avatar, user_email, " +
            "user_role, is_login, is_word, create_time" +
            ") values (" +
            "#{userAccount}, #{userPassword}, #{userName}, #{userAvatar}, #{userEmail}, " +
            "#{userRole}, #{isLogin}, #{isWord}, #{createTime}" +
            ")")
    int insert(User user);
}